Users of electronic devices are increasingly relying on massively parallel accelerator processors, as they offer large amounts of computing power at a low cost. For example, graphics processing units (GPUs) from companies such as AMD and NVIDIA, have become widely available to end-users. For example, tasks such as media processing, medical imaging and eye-tracking may be accelerated to out-perform CPUs by orders of magnitude. However, GPUs may present challenges for software developers, as users may desire applications that exhibit portable correctness, for example, for operating correctly on any GPU accelerator. Software bugs in media processing domains may involve financial implications, and GPUs are being used increasingly in domains such as medical image processing where incorrect imaging results may lead indirectly to loss of life.